// 执行这个函数会返回一个数组，数组里面包含两个用户信息
function createUserList() {
    return [
        {
            userId: 1,
            avatar: '',
            username: 'admin',
            password: '123456',
            desc: '平台管理员',
            roles: ['平台管理员'],
            buttons: ['cuser.detail'],
            routes: ['home'],
            token: 'Admin Token'
        },
        {
            userId: 2,
            avatar: '',
            username: 'system',
            password: '123456',
            desc: '系统管理员',
            roles: ['系统管理员'],
            buttons: ['cuser.detail', 'cuser.user'],
            routes: ['home'],
            token: 'System Token'
        }
    ]
}

// 对外暴露一个数组：包含两个接口
// 登录假接口
// 获取用户信息的假接口
export default [
    // 用户登录接口
    {
        url: 'api/user/login',//请求地址
        method: 'post',//请求方式
        response: ({ body }) => {
            // 获取请求携带过来的用户名和密码
            const { username, password } = body
            // 调用获取信息函数，用于判断是否有此用户
            const checkUser = createUserList().find(item => item.username === username && item.password === password)
            // 没用用户 返回失败信息
            if (!checkUser) {
                return { code: 201, data: { message: '账号或者密码错误' } }
            }
            // 有返回信息
            const { token } = checkUser
            return { code: 200, data: { token } }
        }
    },
    // 获取用户信息
    {
        url: 'api/user/info',//请求地址
        method: 'get',//请求方式
        response: ({ request }) => {
            // 获取请求头携带的token
            const token = request.headers.token
            // 调用获取信息函数，用于判断是否有此用户
            const checkUser = createUserList().find(item => item.token === token)
            // 没用用户 返回失败信息
            if (!checkUser) {
                return { code: 201, data: { message: '获取用户信息失败' } }
            }
            // 有返回信息
            return { code: 200, data: { checkUser } }
        }
    }
]